はじめに
今回は、Azure Virtual Desktop(AVD)の活用と、Microsoft Entra IDによる認証及びシングルサインオン(SSO)の環境設定方法を、AVD構築経験者向けに簡単にご紹介します。複雑な設定手順を最小限に抑え、迅速に検証環境を立ち上げることを目標にしております。
この記事では、AVDの構築における細かな前提条件や詳細な設定手順には触れず簡単なステップでの検証環境構築方法を解説します。事前に必要なリソースを準備することで、基本設定のみでMicrosoft Entra IDを用いたAVD環境の構築が可能となります。さらにSSOの設定は、Azure Portalのグラフィカルユーザーインターフェイス(GUI)といくつかのコマンドラインインターフェイス(CLI)コマンドで簡単に完了します。
そのため、AVDの基本的な利用方法や初心者向けの内容ではなく、AVDの基礎を理解している方やAVD環境を構築できる方が対象となっております。また、Active Directoryとの統合やFSLogixを使用した環境の検証などには触れておらず、それらを希望される方にはこの記事の内容が適していないことを予めご了承ください。
記載されている内容は、2024年3月時点の情報をもとに作成しています。
1. 事前準備
作業を始める前に、以下に挙げるリソースをAzure Portalで準備しておくことをお勧めします。これにより、プロジェクト進行中の手戻りを最小限に抑えられます。
1-1. AVDのライセンスの確認
AVDの利用には、対象のライセンスが必要です。
ご自身に適切なライセンスは、以下のページを参考にして準備してください。
「 Azure Virtual Desktop のライセンス 」
https://learn.microsoft.com/ja-jp/azure/virtual-desktop/licensing#eligible-licenses-to-use-azure-virtual-desktop
1-2. 仮想ネットワークの作成
まず、「仮想ネットワークの作成」を選び、新規リソースグループを指定して仮想ネットワーク名を設定します。検証目的であれば、サブネット設定をデフォルトのままで構いません。
- 仮想ネットワーク
- リソースグループ (一緒に作成)
- アドレス空間、サブネット (既定値)
・設定画面例
・[仮想ネットワークの作成] | ・リソースグループと 仮想ネットワーク |
・作成の確認 |
1-3. ユーザーとグループの構成
Microsoft Entra IDを通じてAVDにアクセスするユーザー、それらを含むユーザーグループ、およびAVDセッションホスト専用のデバイスグループを作成します。
後の手順で必要となるため、ここで作成するデバイスグループの名前やオブジェクトIDは記録しておいて下さい。
また、AVDのセッションホストを構築した後に、このデバイスグループのメンバーとしてセッションホストを追加します。(後述)
- ユーザーID
- ユーザー用のグループ
- デバイス用のグループ
・設定画面例
・グループの作成 |
・デバイスグループの記録対象 |
1-4. Azure Cloud Shellの設定
PowerShellコマンドは、準備の簡単なAzure Cloud Shellで実行します。ポータルの右上のCloud Shellアイコンをクリックして下さい。『ストレージがマウント・・』の画面が表示された場合は、[ストレージの作成]を選択して下さい。
- Cloud Shellの起動確認
・設定画面例
・[Cloud Shell]の起動 | ・[PowerShell]を選択 | ・[ストレージの作成]を選択 |
1-5. Entra IDに参加済みのWindowsクライアント
仮想マシンでもオンプレミスのマシンでも構いません。AVDを使用するためには、Microsoft Entra IDでサインイン可能なWindows 10または11を搭載したクライアントが必要です。このクライアントは、後の検証プロセスで重要な役割を果たします。
2. Entra ID認証を用いたAVD環境の構築手順
このセクションでは、AVD設定の基本と、Microsoft Entra ID認証の統合方法に焦点を当てます。特に、Microsoft Entra ID認証に必要な3つの主要ステップを以下で紹介します。AVDの詳細なセットアップに関しては、以下のMicrosoft Learnを参照してください。
「 Azure Virtual Desktop をデプロイする 」
https://learn.microsoft.com/ja-jp/azure/virtual-desktop/deploy-azure-virtual-desktop?tabs=portal
構築を開始するにあたり、ホストプールの作成、仮想マシンの追加、デスクトップアプリケーショングループの追加という手順で構築を進めます。この過程で、環境に適したパラメータを入力してください。ホストプール作成途中の仮想マシンの追加画面においては、次の「2-1. セッションホストの認証ディレクトの選択」に従って下さい。
2-1. セッションホストの認証ディレクトリの選択
ホストプール作成途中の仮想マシンの追加画面において、「参加するドメイン」-「参加するディレクトリの選択」オプションから「Microsoft Entra ID」を選択します。これにより、認証プロセスがMicrosoft Entra IDを利用するように設定されます。以降、セッションホストの作成完了まで進めて下さい。
・設定画面例
2-2. AVDのアプリケーショングループへユーザーグループを割り当て
AVDの作成後は、AVDのサービスメニューから、「管理」-「アプリケーショングループ」で、ホストプール作成時に自動作成されたアプリケーショングループを選択します。
「管理」-「割り当て」で、「1-3. ユーザーとグループの構成」で作成したユーザーグループを割り当てます。
・設定画面例
2-3. 仮想マシンにユーザーログイン出来るロールをユーザーグループに付与
Azure Portal上で一旦AVDのサービスメニューから、リソースグループのサービスメニューに変更します。AVDが存在するリソースグループを選択し、アクセス制御(IAM)を選びます。このリソースグループに、ロールの割り当ての追加から、「仮想マシンのユーザーログイン」ロールを「1-3. ユーザーとグループの構成」で作成したユーザーグループに割り当てます。これにより、Microsoft Entra IDに参加したWindowsクライアントから、AVDのリモートデスクトップクライアントを使用してAVDへのサインインが可能になります。
・設定画面例
・該当リソースグループを選択 | ・IAMでロール割り当ての追加 | ・ロールの割り当て |
これらの手順を完了することで、Microsoft Entra ID認証を活用したAVD環境の基盤が整います。重要なのは、適切なディレクトリと認証方式を選択し仮想マシンへのログインロールが付与されることで、ユーザーはMicrosoft Entra ID認証を利用して、AVDのセッションホストにスムーズにログインできるようなります。
3. シングルサインオン(SSO)の設定
セッションホストとWindowsクライアントが同一のMicrosoft Entra IDで統合されている場合、以下の手順を踏むことで、Windowsクライアントにログインしたユーザーは、AVDセッションホストへシングルサインオン(SSO)でアクセスできるようになります。このプロセスには、コマンドラインインターフェイス(CLI)とグラフィカルユーザーインターフェイス(GUI)の両方での作業が含まれます。
3-1. RDPプロパティの設定
まず、AVDセッションホストの設定画面にて、RDPプロパティを選択します。ここで「Microsoft Entraシングルサインオン」オプションを選択し、「接続はMicrosoft Entra認証を使用してシングルサインオンを提供します」という設定を有効にして保存します
・設定画面例
・グループの作成 |
・デバイスグループの記録対象 |
3-2. デバイスグループにセッションホストを追加
Azure PortalのMicrosoft Entra IDでグループを選択し、「1-3. ユーザーとグループの構成」で作成したデバイス用のグループにAVDのセッションホストを追加します。
3-3. CLIの準備と設定
Azure PortalでCLIツールへのアクセスを開始します。CLIを活用する前に、初期設定が必要となる場合があります。
まず、Azure Cloud Shellで以下のコマンドを実行し、Microsoft Graph PowerShellに接続します。
Connect-MgGraph -Scopes "Application.Read.All","Application-RemoteDesktopConfig.ReadWrite.All"
CLI画面に表示されるURL(https://microsoft.com/devicelogin)をブラウザに貼り付け、表示されたコードを入力します。
初回の表示されるアクセス許可の画面で「組織の代理として同意する」にチェックを入れ、[承諾]ボタンをクリックします。
・設定画面例
・コマンド実行後 | ・URL接続後のコード入力 | ・承諾要求 |
「1-3. ユーザーとグループの構成」でメモを取ったデバイス用グループ名とオブジェクトIDをパラメータの値とし、以下のコマンドを流します。
$MSRDspId = (Get-MgServicePrincipal -Filter "AppId eq 'a4a365df-50f1-4397-bc59-1a1564b8bb9c'").Id
$WCLspId = (Get-MgServicePrincipal -Filter "AppId eq '270efc09-cd0d-444b-a71f-39af4910ec45'").Id
If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId) -ne $true) {
Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId -IsRemoteDesktopProtocolEnabled
}
If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId) -ne $true) {
Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId -IsRemoteDesktopProtocolEnabled
}
Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId
Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId
・実行結果例
$tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup
$tdg.Id = "<デバイス用グループのオブジェクトID>"
$tdg.DisplayName = "<デバイス用グループ名>"
New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $MSRDspId -BodyParameter $tdg
New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $WCLspId -BodyParameter $tdg
・実行結果例
このプロセスを完了することで、AVDクライアントにユーザーIDとパスワードを入力することなく、シングルサインオン環境が構築されます。このセットアップにより、ユーザーはよりスムーズかつセキュアにAVD環境へのアクセスが可能となります。
4. まとめ
この記事では、Microsoft Entra ID認証とシングルサインオン(SSO)を用いたAVD環境の容易な構築方法に焦点を置きました。AVDを熟知している方々がより少ない手順でAVD環境を迅速に立ち上げる手法の一つになると考えております。
本記事が、AVD環境のさらなる構築と管理のための参考となり、読者の皆様が技術的な挑戦を楽しむきっかけになれば幸いです。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 第1技術部 4課
光永 正明